✒️ 2025-05-14 20:13 내용 수정
컴퓨터가 처리하는 데이터의 종류
- 데이터 타입을 결정할 때는 본인이 사용하려는 데이터의 최대 크기를 고려해야 한다.
- 최대 범위를 벗어나면 오버플로우(Overflow) 가 발생해 전혀 다른 값이 저장될 수 있다.
- 반대로 언더플로우(Underflow) 는 해당 타입이 표현할 수 있는 최소 범위보다 작은 값을 저장할 때 발생한다.
- Java에는 크게 기본 자료형과 참조 자료형이 있으며, 각 자료형의 특징을 비교하면 아래와 같다.
| 항목 |
기본 자료형 (Primitive Type) |
참조 자료형 (Reference Type) |
| 저장 값 |
실제 데이터 값 |
객체의 참조(주소) |
| 메모리 저장 위치 |
스택(Stack) |
객체는 힙(Heap), 참조는 스택(Stack) |
| 크기 |
고정 |
가변 (객체에 따라 다름) |
| 기본값 |
0, 0.0, false 등 |
null |
null 허용 여부 |
불가능 |
가능 |
| 산술 연산 |
가능 |
불가능 (메서드를 통해 조작) |
| 예시 |
int, float, boolean 등 |
String, Array, Class, Interface 등 |
기본 자료형
- 변수에 실제 값 자체를 저장한다.
- Stack 영역에 저장되는 자료형이다.
- 고정된 크기를 가지며 연산을 할 수 있다.

1. 정수형
- 정수형 데이터를 저장할 때 사용한다.
- 종류는 byte, short, int, long가 있으며, 자료형의 크기에 맞게 사용한다.
- Java에선 기본적으로 int를 사용한다.
| 자료형 |
크기 |
| byte |
1 byte |
| short |
2 byte |
| int |
4 byte |
| long |
8 byte |
int age = 20;
long speed = 30000000000000;
2. 실수형
- 소수점을 포함한 실수형 데이터를 저장할 때 사용한다.
- 종류는 float, double가 있다.
- Java에선 거의 double을 사용한다.
| 자료형 |
크기 |
| float |
4 byte |
| double |
8 byte |
float pi = 3.13f;
double number = 439.2938201;
- float을 사용 시엔
float f = 3.14f 형태로 명시해야 한다.
- 두 실수형 모두 소수점에 숫자에 부정확정 발생한다.
- float은 소수점 5~6자리 이하에서, double은 소수점 15자리 이하 발생한다.
3. 문자
- 단일 문자를 저장할 때 사용한다.
char data = 'A'로 초기화한다.
char score = 'A';
- C언어와 C++에서는 ASCII 코드를 사용하여 문자를 표현한다.
- Java에서는 유니코드를 사용하여 문자를 표현한다.
- char 연산에서 ASCII 코드를 사용하여 정수로 변환할 수 있다.
5. 논리형
- boolean은
true / false 중 한 가지의 값만 가질 수 있는 논리 자료형이다.
- byte 형과 더불어 1 바이트 크기를 가진다.
boolean finished = false;
참조 자료형
- 실제 데이터가 아닌 주소 값을 저장하는 자료형이다.
- 실제 데이터는 Heap 영역에 저장되고, 변수는 해당 객체의 참조만 저장하여 Stack 영역에 저장된다.
- 기본값은
null이며 산술 연산을 직접적으로 할 수 없어 메서드를 통해 조작한다.
- 크기를 가변적으로 가질 수 있다.
1. 문자열(문장)
- String은 문자열을 저장할 때 사용한다.
String data = "AA" 로 초기화한다.
String data = "AA";
2. Array
3. Class